1. Technical Field
The present disclosure relates to the field of imaging.
2. Description of the Related Art
CCD or CMOS imaging sensors are typically used in imaging devices, such as optical code reading devices for reading and decoding optical codes, such as bar codes. These sensors generally have an imaging pixel array having a plurality of photosensitive elements or pixels for capturing an image. Each pixel of the pixel array has a fixed aspect ratio (i.e., width-to-height). The aspect ratio of the pixels in an optical code reading device is generally determined by the type and/or density of the images, e.g., bar codes, to be read by the imaging device.
Due to the limited dynamic range of CCD, CMOS and other area sensors, auto-exposure systems are generally used to generate images with sufficient information content for automatic identification purposes. A typical auto-exposure system uses the output image to determine the exposure parameters. This ties the time for auto-exposure to the time it takes to transfer frames from the imaging sensor to the auto-exposure system. For CCD and most CMOS imaging sensors, the worst case time required for auto-exposure is 2-3 times the typical frame transfer time of 33 ms. This amount of time can substantially slow down the first-read times for an imager or imaging engine in an optical code reading system and significantly affect any imager's performance. (The first-read time is one of the major parameters used in evaluating imager performance.) Accordingly, a need exists for an auto-exposure system for use with a variable resolution imaging sensor in which very low resolution images are used to determine exposure parameters. The short time required to transfer the low resolution image, as opposed to a high resolution image, results in a very fast auto-exposure system (few milli-seconds).
Optical zoom systems are generally used in optical code reading devices for precisely moving at least one lens and other components of the imaging devices. Hence, these optical zoom systems require movable optical and other components which need to be precisely moved at very short distances. Accordingly, a need exists for an optical zoom system for use with a variable resolution imaging sensor for zooming in and out of a target, such as a bar code, without moving any optical and non-optical components.
In the case of an optical code reading system, informational encoded content transferred by the images generated is thereafter decoded using decoding algorithms stored as a set of programmable instructions within at least one processor or decoder of the system. The images generated by CCD and CMOS imaging sensors are generally high resolution images, thereby requiring a long period of decode time (trigger to beep) to decode their informational encoded content (in the order of 50 to over 250 ms). These decode times are too slow for high performance bar code reading applications. Accordingly, a need exists to reduce the decode time by programming a variable resolution imaging sensor to generate a low resolution image which takes less time to transfer to the at least one processor or decoder from the sensor. A need also exists for programming the variable resolution imaging sensor to continuously generate an image having a higher resolution than the previously generated image and transferring the new image (or a portion thereof) to the at least one processor or decoder, until the informational encoded content transferred by the most-recently transferred image is decoded or a predetermined period of time has lapsed.
In addition, an imaging sensor such as for barcode scanning operates by processing a low resolution representation of an image to locate a target feature such as a barcode position. Such an imaging sensor has a two-dimensional array of pixels, e.g., a 1280×1024 in an entire array, to produce a full image. The imaging sensor can be programmed to transmit any subset of pixels up to the number of pixels in the entire array. The subset can be formed by sub-sampling the entire array, by binning pixels together, or by cropping a region of pixels. The imaging sensor may perform sub-sampling or binning of the cropped region. In the case of cropping, typically only the output image of the cropped region has the same optical resolution as the full image, but a smaller field of view. The imaging sensor subsequently processes a high resolution representation of the image to decode the barcode by transferring only one image at a time at a given resolution. Only a low resolution representation of the image or a high resolution representation of the image is transferred at a time.